package com.mallcloud.mall.mall.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.mallcloud.mall.common.core.constant.enums.mall.MallCommonEnum;
import com.mallcloud.mall.common.core.util.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

@ApiModel(value="MallVipRightsModel",description="会员权益")
@Data
@TableName("USERSLEVEL_EXTEND")
public class MallVipRightsModel implements Serializable {
    private static final long serialVersionUID = 1L;

	@JsonSerialize(using = ToStringSerializer.class)
	@NotNull(message = "ID为空", groups = {ValidGroup.Update.class})
    @TableId(value = "uleid", type = IdType.ASSIGN_ID)
    @ApiModelProperty(value="主键")
    private Long id;

    @ApiModelProperty(value="mall用户等级id")
	@TableField("ulepid")
    private String mallUserLevelId;

    @ApiModelProperty(value="权益图片地址")
	@TableField("uleimage")
    private String rightsUrl;

    @ApiModelProperty(value="权益说明内容")
	@TableField("ulecontent")
    private String rightsContent;

	/**
	 * {@link MallCommonEnum.StatusEnum}
	 */
	@ApiModelProperty(value="状态")
	@TableField("ulestatus")
    private String status;

    @ApiModelProperty(value="权益说明标题")
	@TableField("uletitle")
    private String rightsTitle;

    @ApiModelProperty(value="权益说明内容图片")
	@TableField("ulecontentimg")
    private String rightsContentUrl;

}
